Repository navigation
feat: настройки регистрации и путь участника в программе - #463
Merged
Merged
Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Что изменено
В «Настройки → Регистрация» организатор выбирает встроенную регистрацию или внешнюю форму, редактирует анкету, проверяет её в предпросмотре и публикует постоянную ссылку. Крестик быстро убирает поле из черновика; для поля с ответами предусмотрено архивирование. Стрелки списков компактные, кнопки тонкие, диалоги расположены по центру и сохраняют доступные действия на телефоне.
Публичная страница объединяет стандартные поля нового аккаунта с анкетой программы. Существующий пользователь входит и заполняет только анкету. После подтверждения почты или восстановления пароля сохраняется контекст программы. Ответы участника доступны в модальном окне из списка участников и в Excel через backend. Ссылка регистрации убрана из «Основного».
Реализация
Angular standalone страницы/компоненты, domain models/port/use-case/HTTP adapter; существующие Button/Field/Choice/Modal, справочник вузов и Mont. Поля анкеты независимы от полей проекта и образования профиля. Письмо подтверждения использует fragment; JWT получается в теле POST. При изменении обязательных вопросов ожидающий подтверждения участник возвращается к обновлённой анкете с сохранёнными ответами.
API / permissions
Требуется backend PR PROCOLLAB-github/api#800 и миграция 0024. Backend проверяет права организатора, владение аккаунтом, дедлайн, опубликованную версию и ответы. Этот PR не выводит права из видимости кнопок и не меняет глобальные правила модерации/приглашений. Внешняя форма подключается администратором; ввод URL не создаёт webhook.
Проверки
npm run test:ci: 2279 тестов в 435 файлах прошли на итоговом HEAD, включая регрессии отправки формы/числового ввода/fragment.npm run build:pr, ESLint изменённых TS и Stylelint новых SCSS — успешно. Полный Prettier check с учётом Windows CRLF (--end-of-line auto) прошёл; Git хранит LF.UI / migration
Figma: https://www.figma.com/design/tvog0fpEgWgEtr7KUTjbyE/PROCOLLAB-Design-System-v1?node-id=652-3220
Сначала backend deploy и проверки миграции/runtime-права/Celery, затем обычный merge этого PR в DEV. Production исключён. Существующие legacy-программы сохраняют прежний сценарий, пока организатор явно не опубликует новый способ.
DEV — результат выкладки
Оба PR выложены на DEV. Миграция 0024, runtime-права, HTTP smoke и Celery прошли. На опубликованных файлах интерфейса повторены 22 browser-сценария на 1440/390/360px с изолированным API и тестовой почтой; ещё 6 реальных анонимных GET-проверок прошли. При загрузке DEV из тестового Chromium встречались сетевые таймауты (итоговый прогон прошёл с 3 повторами навигации); ошибок приложения и 5xx не обнаружено. Реальная SMTP-доставка и ручное подключение внешнего webhook не тестировались.